package com.base.po.collect;

import java.util.ArrayList;
import java.util.List;

public class CollectCommoditiesExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public CollectCommoditiesExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andCcIdIsNull() {
            addCriterion("cc_id is null");
            return (Criteria) this;
        }

        public Criteria andCcIdIsNotNull() {
            addCriterion("cc_id is not null");
            return (Criteria) this;
        }

        public Criteria andCcIdEqualTo(String value) {
            addCriterion("cc_id =", value, "ccId");
            return (Criteria) this;
        }

        public Criteria andCcIdNotEqualTo(String value) {
            addCriterion("cc_id <>", value, "ccId");
            return (Criteria) this;
        }

        public Criteria andCcIdGreaterThan(String value) {
            addCriterion("cc_id >", value, "ccId");
            return (Criteria) this;
        }

        public Criteria andCcIdGreaterThanOrEqualTo(String value) {
            addCriterion("cc_id >=", value, "ccId");
            return (Criteria) this;
        }

        public Criteria andCcIdLessThan(String value) {
            addCriterion("cc_id <", value, "ccId");
            return (Criteria) this;
        }

        public Criteria andCcIdLessThanOrEqualTo(String value) {
            addCriterion("cc_id <=", value, "ccId");
            return (Criteria) this;
        }

        public Criteria andCcIdLike(String value) {
            addCriterion("cc_id like", value, "ccId");
            return (Criteria) this;
        }

        public Criteria andCcIdNotLike(String value) {
            addCriterion("cc_id not like", value, "ccId");
            return (Criteria) this;
        }

        public Criteria andCcIdIn(List<String> values) {
            addCriterion("cc_id in", values, "ccId");
            return (Criteria) this;
        }

        public Criteria andCcIdNotIn(List<String> values) {
            addCriterion("cc_id not in", values, "ccId");
            return (Criteria) this;
        }

        public Criteria andCcIdBetween(String value1, String value2) {
            addCriterion("cc_id between", value1, value2, "ccId");
            return (Criteria) this;
        }

        public Criteria andCcIdNotBetween(String value1, String value2) {
            addCriterion("cc_id not between", value1, value2, "ccId");
            return (Criteria) this;
        }

        public Criteria andCcNameIsNull() {
            addCriterion("cc_name is null");
            return (Criteria) this;
        }

        public Criteria andCcNameIsNotNull() {
            addCriterion("cc_name is not null");
            return (Criteria) this;
        }

        public Criteria andCcNameEqualTo(String value) {
            addCriterion("cc_name =", value, "ccName");
            return (Criteria) this;
        }

        public Criteria andCcNameNotEqualTo(String value) {
            addCriterion("cc_name <>", value, "ccName");
            return (Criteria) this;
        }

        public Criteria andCcNameGreaterThan(String value) {
            addCriterion("cc_name >", value, "ccName");
            return (Criteria) this;
        }

        public Criteria andCcNameGreaterThanOrEqualTo(String value) {
            addCriterion("cc_name >=", value, "ccName");
            return (Criteria) this;
        }

        public Criteria andCcNameLessThan(String value) {
            addCriterion("cc_name <", value, "ccName");
            return (Criteria) this;
        }

        public Criteria andCcNameLessThanOrEqualTo(String value) {
            addCriterion("cc_name <=", value, "ccName");
            return (Criteria) this;
        }

        public Criteria andCcNameLike(String value) {
            addCriterion("cc_name like", value, "ccName");
            return (Criteria) this;
        }

        public Criteria andCcNameNotLike(String value) {
            addCriterion("cc_name not like", value, "ccName");
            return (Criteria) this;
        }

        public Criteria andCcNameIn(List<String> values) {
            addCriterion("cc_name in", values, "ccName");
            return (Criteria) this;
        }

        public Criteria andCcNameNotIn(List<String> values) {
            addCriterion("cc_name not in", values, "ccName");
            return (Criteria) this;
        }

        public Criteria andCcNameBetween(String value1, String value2) {
            addCriterion("cc_name between", value1, value2, "ccName");
            return (Criteria) this;
        }

        public Criteria andCcNameNotBetween(String value1, String value2) {
            addCriterion("cc_name not between", value1, value2, "ccName");
            return (Criteria) this;
        }

        public Criteria andCcPicIsNull() {
            addCriterion("cc_pic is null");
            return (Criteria) this;
        }

        public Criteria andCcPicIsNotNull() {
            addCriterion("cc_pic is not null");
            return (Criteria) this;
        }

        public Criteria andCcPicEqualTo(String value) {
            addCriterion("cc_pic =", value, "ccPic");
            return (Criteria) this;
        }

        public Criteria andCcPicNotEqualTo(String value) {
            addCriterion("cc_pic <>", value, "ccPic");
            return (Criteria) this;
        }

        public Criteria andCcPicGreaterThan(String value) {
            addCriterion("cc_pic >", value, "ccPic");
            return (Criteria) this;
        }

        public Criteria andCcPicGreaterThanOrEqualTo(String value) {
            addCriterion("cc_pic >=", value, "ccPic");
            return (Criteria) this;
        }

        public Criteria andCcPicLessThan(String value) {
            addCriterion("cc_pic <", value, "ccPic");
            return (Criteria) this;
        }

        public Criteria andCcPicLessThanOrEqualTo(String value) {
            addCriterion("cc_pic <=", value, "ccPic");
            return (Criteria) this;
        }

        public Criteria andCcPicLike(String value) {
            addCriterion("cc_pic like", value, "ccPic");
            return (Criteria) this;
        }

        public Criteria andCcPicNotLike(String value) {
            addCriterion("cc_pic not like", value, "ccPic");
            return (Criteria) this;
        }

        public Criteria andCcPicIn(List<String> values) {
            addCriterion("cc_pic in", values, "ccPic");
            return (Criteria) this;
        }

        public Criteria andCcPicNotIn(List<String> values) {
            addCriterion("cc_pic not in", values, "ccPic");
            return (Criteria) this;
        }

        public Criteria andCcPicBetween(String value1, String value2) {
            addCriterion("cc_pic between", value1, value2, "ccPic");
            return (Criteria) this;
        }

        public Criteria andCcPicNotBetween(String value1, String value2) {
            addCriterion("cc_pic not between", value1, value2, "ccPic");
            return (Criteria) this;
        }

        public Criteria andCcPriceIsNull() {
            addCriterion("cc_price is null");
            return (Criteria) this;
        }

        public Criteria andCcPriceIsNotNull() {
            addCriterion("cc_price is not null");
            return (Criteria) this;
        }

        public Criteria andCcPriceEqualTo(Double value) {
            addCriterion("cc_price =", value, "ccPrice");
            return (Criteria) this;
        }

        public Criteria andCcPriceNotEqualTo(Double value) {
            addCriterion("cc_price <>", value, "ccPrice");
            return (Criteria) this;
        }

        public Criteria andCcPriceGreaterThan(Double value) {
            addCriterion("cc_price >", value, "ccPrice");
            return (Criteria) this;
        }

        public Criteria andCcPriceGreaterThanOrEqualTo(Double value) {
            addCriterion("cc_price >=", value, "ccPrice");
            return (Criteria) this;
        }

        public Criteria andCcPriceLessThan(Double value) {
            addCriterion("cc_price <", value, "ccPrice");
            return (Criteria) this;
        }

        public Criteria andCcPriceLessThanOrEqualTo(Double value) {
            addCriterion("cc_price <=", value, "ccPrice");
            return (Criteria) this;
        }

        public Criteria andCcPriceIn(List<Double> values) {
            addCriterion("cc_price in", values, "ccPrice");
            return (Criteria) this;
        }

        public Criteria andCcPriceNotIn(List<Double> values) {
            addCriterion("cc_price not in", values, "ccPrice");
            return (Criteria) this;
        }

        public Criteria andCcPriceBetween(Double value1, Double value2) {
            addCriterion("cc_price between", value1, value2, "ccPrice");
            return (Criteria) this;
        }

        public Criteria andCcPriceNotBetween(Double value1, Double value2) {
            addCriterion("cc_price not between", value1, value2, "ccPrice");
            return (Criteria) this;
        }

        public Criteria andUIdIsNull() {
            addCriterion("u_id is null");
            return (Criteria) this;
        }

        public Criteria andUIdIsNotNull() {
            addCriterion("u_id is not null");
            return (Criteria) this;
        }

        public Criteria andUIdEqualTo(String value) {
            addCriterion("u_id =", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdNotEqualTo(String value) {
            addCriterion("u_id <>", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdGreaterThan(String value) {
            addCriterion("u_id >", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdGreaterThanOrEqualTo(String value) {
            addCriterion("u_id >=", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdLessThan(String value) {
            addCriterion("u_id <", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdLessThanOrEqualTo(String value) {
            addCriterion("u_id <=", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdLike(String value) {
            addCriterion("u_id like", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdNotLike(String value) {
            addCriterion("u_id not like", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdIn(List<String> values) {
            addCriterion("u_id in", values, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdNotIn(List<String> values) {
            addCriterion("u_id not in", values, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdBetween(String value1, String value2) {
            addCriterion("u_id between", value1, value2, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdNotBetween(String value1, String value2) {
            addCriterion("u_id not between", value1, value2, "uId");
            return (Criteria) this;
        }

        public Criteria andDataStatusIsNull() {
            addCriterion("data_status is null");
            return (Criteria) this;
        }

        public Criteria andDataStatusIsNotNull() {
            addCriterion("data_status is not null");
            return (Criteria) this;
        }

        public Criteria andDataStatusEqualTo(Byte value) {
            addCriterion("data_status =", value, "dataStatus");
            return (Criteria) this;
        }

        public Criteria andDataStatusNotEqualTo(Byte value) {
            addCriterion("data_status <>", value, "dataStatus");
            return (Criteria) this;
        }

        public Criteria andDataStatusGreaterThan(Byte value) {
            addCriterion("data_status >", value, "dataStatus");
            return (Criteria) this;
        }

        public Criteria andDataStatusGreaterThanOrEqualTo(Byte value) {
            addCriterion("data_status >=", value, "dataStatus");
            return (Criteria) this;
        }

        public Criteria andDataStatusLessThan(Byte value) {
            addCriterion("data_status <", value, "dataStatus");
            return (Criteria) this;
        }

        public Criteria andDataStatusLessThanOrEqualTo(Byte value) {
            addCriterion("data_status <=", value, "dataStatus");
            return (Criteria) this;
        }

        public Criteria andDataStatusIn(List<Byte> values) {
            addCriterion("data_status in", values, "dataStatus");
            return (Criteria) this;
        }

        public Criteria andDataStatusNotIn(List<Byte> values) {
            addCriterion("data_status not in", values, "dataStatus");
            return (Criteria) this;
        }

        public Criteria andDataStatusBetween(Byte value1, Byte value2) {
            addCriterion("data_status between", value1, value2, "dataStatus");
            return (Criteria) this;
        }

        public Criteria andDataStatusNotBetween(Byte value1, Byte value2) {
            addCriterion("data_status not between", value1, value2, "dataStatus");
            return (Criteria) this;
        }

        public Criteria andCcDateIsNull() {
            addCriterion("cc_date is null");
            return (Criteria) this;
        }

        public Criteria andCcDateIsNotNull() {
            addCriterion("cc_date is not null");
            return (Criteria) this;
        }

        public Criteria andCcDateEqualTo(String value) {
            addCriterion("cc_date =", value, "ccDate");
            return (Criteria) this;
        }

        public Criteria andCcDateNotEqualTo(String value) {
            addCriterion("cc_date <>", value, "ccDate");
            return (Criteria) this;
        }

        public Criteria andCcDateGreaterThan(String value) {
            addCriterion("cc_date >", value, "ccDate");
            return (Criteria) this;
        }

        public Criteria andCcDateGreaterThanOrEqualTo(String value) {
            addCriterion("cc_date >=", value, "ccDate");
            return (Criteria) this;
        }

        public Criteria andCcDateLessThan(String value) {
            addCriterion("cc_date <", value, "ccDate");
            return (Criteria) this;
        }

        public Criteria andCcDateLessThanOrEqualTo(String value) {
            addCriterion("cc_date <=", value, "ccDate");
            return (Criteria) this;
        }

        public Criteria andCcDateLike(String value) {
            addCriterion("cc_date like", value, "ccDate");
            return (Criteria) this;
        }

        public Criteria andCcDateNotLike(String value) {
            addCriterion("cc_date not like", value, "ccDate");
            return (Criteria) this;
        }

        public Criteria andCcDateIn(List<String> values) {
            addCriterion("cc_date in", values, "ccDate");
            return (Criteria) this;
        }

        public Criteria andCcDateNotIn(List<String> values) {
            addCriterion("cc_date not in", values, "ccDate");
            return (Criteria) this;
        }

        public Criteria andCcDateBetween(String value1, String value2) {
            addCriterion("cc_date between", value1, value2, "ccDate");
            return (Criteria) this;
        }

        public Criteria andCcDateNotBetween(String value1, String value2) {
            addCriterion("cc_date not between", value1, value2, "ccDate");
            return (Criteria) this;
        }

        public Criteria andApiProIsNull() {
            addCriterion("api_pro is null");
            return (Criteria) this;
        }

        public Criteria andApiProIsNotNull() {
            addCriterion("api_pro is not null");
            return (Criteria) this;
        }

        public Criteria andApiProEqualTo(Byte value) {
            addCriterion("api_pro =", value, "apiPro");
            return (Criteria) this;
        }

        public Criteria andApiProNotEqualTo(Byte value) {
            addCriterion("api_pro <>", value, "apiPro");
            return (Criteria) this;
        }

        public Criteria andApiProGreaterThan(Byte value) {
            addCriterion("api_pro >", value, "apiPro");
            return (Criteria) this;
        }

        public Criteria andApiProGreaterThanOrEqualTo(Byte value) {
            addCriterion("api_pro >=", value, "apiPro");
            return (Criteria) this;
        }

        public Criteria andApiProLessThan(Byte value) {
            addCriterion("api_pro <", value, "apiPro");
            return (Criteria) this;
        }

        public Criteria andApiProLessThanOrEqualTo(Byte value) {
            addCriterion("api_pro <=", value, "apiPro");
            return (Criteria) this;
        }

        public Criteria andApiProIn(List<Byte> values) {
            addCriterion("api_pro in", values, "apiPro");
            return (Criteria) this;
        }

        public Criteria andApiProNotIn(List<Byte> values) {
            addCriterion("api_pro not in", values, "apiPro");
            return (Criteria) this;
        }

        public Criteria andApiProBetween(Byte value1, Byte value2) {
            addCriterion("api_pro between", value1, value2, "apiPro");
            return (Criteria) this;
        }

        public Criteria andApiProNotBetween(Byte value1, Byte value2) {
            addCriterion("api_pro not between", value1, value2, "apiPro");
            return (Criteria) this;
        }

        public Criteria andComIdIsNull() {
            addCriterion("com_id is null");
            return (Criteria) this;
        }

        public Criteria andComIdIsNotNull() {
            addCriterion("com_id is not null");
            return (Criteria) this;
        }

        public Criteria andComIdEqualTo(String value) {
            addCriterion("com_id =", value, "comId");
            return (Criteria) this;
        }

        public Criteria andComIdNotEqualTo(String value) {
            addCriterion("com_id <>", value, "comId");
            return (Criteria) this;
        }

        public Criteria andComIdGreaterThan(String value) {
            addCriterion("com_id >", value, "comId");
            return (Criteria) this;
        }

        public Criteria andComIdGreaterThanOrEqualTo(String value) {
            addCriterion("com_id >=", value, "comId");
            return (Criteria) this;
        }

        public Criteria andComIdLessThan(String value) {
            addCriterion("com_id <", value, "comId");
            return (Criteria) this;
        }

        public Criteria andComIdLessThanOrEqualTo(String value) {
            addCriterion("com_id <=", value, "comId");
            return (Criteria) this;
        }

        public Criteria andComIdLike(String value) {
            addCriterion("com_id like", value, "comId");
            return (Criteria) this;
        }

        public Criteria andComIdNotLike(String value) {
            addCriterion("com_id not like", value, "comId");
            return (Criteria) this;
        }

        public Criteria andComIdIn(List<String> values) {
            addCriterion("com_id in", values, "comId");
            return (Criteria) this;
        }

        public Criteria andComIdNotIn(List<String> values) {
            addCriterion("com_id not in", values, "comId");
            return (Criteria) this;
        }

        public Criteria andComIdBetween(String value1, String value2) {
            addCriterion("com_id between", value1, value2, "comId");
            return (Criteria) this;
        }

        public Criteria andComIdNotBetween(String value1, String value2) {
            addCriterion("com_id not between", value1, value2, "comId");
            return (Criteria) this;
        }

        public Criteria andParentIdIsNull() {
            addCriterion("parent_id is null");
            return (Criteria) this;
        }

        public Criteria andParentIdIsNotNull() {
            addCriterion("parent_id is not null");
            return (Criteria) this;
        }

        public Criteria andParentIdEqualTo(String value) {
            addCriterion("parent_id =", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdNotEqualTo(String value) {
            addCriterion("parent_id <>", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdGreaterThan(String value) {
            addCriterion("parent_id >", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdGreaterThanOrEqualTo(String value) {
            addCriterion("parent_id >=", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdLessThan(String value) {
            addCriterion("parent_id <", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdLessThanOrEqualTo(String value) {
            addCriterion("parent_id <=", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdLike(String value) {
            addCriterion("parent_id like", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdNotLike(String value) {
            addCriterion("parent_id not like", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdIn(List<String> values) {
            addCriterion("parent_id in", values, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdNotIn(List<String> values) {
            addCriterion("parent_id not in", values, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdBetween(String value1, String value2) {
            addCriterion("parent_id between", value1, value2, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdNotBetween(String value1, String value2) {
            addCriterion("parent_id not between", value1, value2, "parentId");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}